.TH LFS-PCC 1 2019-04-15 "Lustre" "Lustre Utilities"
.SH NAME
lfs pcc commands used to interact with the Persistent Client Cache (PCC).
.SH SYNOPSIS
.B lfs pcc attach <\fB--id\fR|\fB-i\fR \fINUM\fR>  <\fIfile \fR...>
.br
.B lfs pcc attach <\fB--id\fR|\fB-i\fR \fINUM\fR>  <\fB--mnt\fR|\fB-m\fR \fImntpath\fR> <\fIfid \fR...>
.br
.B lfs pcc state <\fIfile \fR...>
.SH DESCRIPTION
.TP
.B lfs pcc attach <\fB--id\fR|\fB-i\fR \fINUM\fR>  <\fIfile \fR...>
Attach given files on the persistent client cache. Use
.B lfs pcc detach
to remove the cached files from PCC either manually, or through automatic
mechanisms for the purpose of the cache space management.
.TP
.B lfs pcc attach <\fB--id\fR|\fB-i\fR \fINUM\fR>  <\fB--mnt\fR|\fB-m\fR \fImntpath\fR> <\fIfid \fR...>
Attach given files into the persistent client cache by FID(s).
.TP
.B lfs pcc state <\fIfile \fR...>
Display the PCC state for given files.
.TP
.SH OPTIONS
.TP
.B --id | -i
For RW-PCC, it is HSM ARCHIVE ID to choose which backend for cache files.
.TP
.B --mnt | -m
Specify the Lustre mount point.
.TP
Before using RW-PCC, you need to configure HSM root and Archive ID mapping properly:
.TP
.B lfs pcc add $MNTPATH $PCCPATH \ "$PARAM"
Add one PCC backend to the Lustre client. For RW-PCC, when a file is being
created, a rule-based policy is used to determine whether it will be cached.
The rule expression supports logical conditional conjunction and disjunction
operations among different users, groups, projects, or filenames including
wildcards. You need to specify auto create caching rule and archive ID in
.B $PARAM.
On this client any subsequently created files matching the condition of auto
caching rule will be persistently cached automatically.
.TP
.B lfs pcc del $MNTPATH $PCCPATH
 Delete one PCC backend
.TP
.B lfs pcc clear $MNTPATH
 Clear and remove all PCC backends for the client.
.TP
.SH EXAMPLES
.TP
.B # lctl set_param mdt.$FSNAME-MDT0000.hsm_control=enabled
Enable HSM on the appropriate MDT.
.TP
.B # lhsmtool_posix --daemon --hsm-root /mnt/pcc/ --archive=1 /mnt/lustre
Launch one copytool on client node to connect cache storage.
.TP
.B # lfs pcc add /mnt/lustre /mnt/pcc \ "projid={500,1000}&fname={*.h5},uid=1001 rwid=1"
Add HSM root and Archive ID (referenced by
.IB rwid
name-value pair) mapping for RW-PCC. Where "&" represents the logical
conjunction operator while "," represents the logical disjunction operator.
The example rule means that new files are only auto cached if the project ID is
either 500 or 1000 and the suffix of the file name is “h5” or the user ID is
1001.
.TP
.B $ lfs pcc attach -i 1 /mnt/lustre/file
Attach an existing file into PCC and migrate data from lustre to Cache Device,
any I/O to the Lustre file will direct to the RW-PCC copy.
.TP
.B $ lfs pcc attach_fid -i 1 -m /mnt/lustre 0x200000401:0x1:0x0
Attach an existing file referenced by FID "0x200000401:0x1:0x0" into PCC.
.TP
.B $ lfs pcc state /mnt/lustre/file
.br
file: /mnt/lustre/file, type: readwrite, PCC file: /mnt/pcc/0004/0000/0bd1/0000/0002/0000/0x200000bd1:0x4:0x0, user number: 1, flags: 6
.br
Display the PCC state of the file "/mnt/lustre/file".
.TP
.B $ lfs pcc state /mnt/lustre/file
.br
file: /mnt/lustre/file, type: readwrite, PCC file: /mnt/pcc/0004/0000/0bd1/0000/0002/0000/0x200000bd1:0x4:0x0, user number: 1, flags: 6
.br
Display the PCC state of the file "/mnt/lustre/file".
.TP
.SH SEE ALSO
.BR lfs (1),
.BR lfs-hsm (1),
.BR lfs-pcc-detach (1),
.BR lctl-pcc (8)
